import Vue from 'vue'
import Vuex from 'vuex'

// import user from './user'

Vue.use(Vuex);//vue的插件机制
// 构造器选项
Vuex.Store 
const store = new Vuex.Store({
	state:{//存放状态
		"statusBarHeight": 0,
		user:{
				cid:'',
				uid:''
			}
	},
	getters:{
		statusBarHeight: state=> {
			return state.statusBarHeight
		},
		getUser(state){
				return state.user;
			}
	},
	mutations: {
		setStatusBarHeight(state, num) {
			state.statusBarHeight = num
		},
		updateUser(state,user){
				state.user = user;
			}
	},
	actions:{
		asyncUpdateUser(context,user){
				context.commit('updateUser',user);
			}
	}
})
export default store

//公共state对象，存储所有组件对象
// const state ={
// 	user:{
// 		cid:'',
// 		uid:'',
// 	}
// }

// //唯一取值的方法，计算属性
// const getters={
// 	getUser(state){
// 		return state.user;
// 	}
// }

// //唯一可以修改state值的方法：同步阻塞
// const mutations={
// 	updateUser(state,user){
// 		state.user = user;
// 	}
// }

// //异步调用mutations方法
// const actions={
// 	asyncUpdateUser(context,user){
// 		context.commit('updateUser',user);
// 	}
// }
// export default new Vuex.Store({
// 	state,
// 	getters,
// 	mutations,
// 	actions
// });